home *** CD-ROM | disk | FTP | other *** search
- {
- CHRIS BEISEL
-
- I've gotten many compliments on these two fade routines (a few good
- programmers thought they were asm!)... plus, I made them so you can fade
- part on the palette also... It's very smooth on my 486, as well as 386's
- and 286's at friends houses...
-
- set up in your type declarations
- rgbtype=record
- red,green,blue:byte;
- end;
- rgbarray[0..255] of rgbtype;
-
- and in your var declarations have something like
- rgbpal:rgbarray;
-
- and set your colors in that...
- }
- procedure fadein(fadepal : rgbarray; col1, col2 : byte);
- var
- lcv,
- lcv2 : integer;
- tpal : rgbarray;
- begin
- for lcv := col1 to col2 do
- begin
- TPal[lcv].red := 0;
- TPal[lcv].green := 0;
- TPal[lcv].blue := 0;
- end;
- for lcv := 0 to 63 do
- begin
- for lcv2:=col1 to col2 do
- begin
- if fadepal[lcv2].red > TPal[lcv2].red then
- TPal[lcv2].red := TPal[lcv2].red + 1;
- if fadepal[lcv2].green > TPal[lcv2].green then
- TPal[lcv2].green := TPal[lcv2].green + 1;
- if fadepal[lcv2].blue > TPal[lcv2].blue then
- TPal[lcv2].blue := TPal[lcv2].blue+1;
-
- setcolor(lcv2, TPal[lcv2].red, TPal[lcv2].green, TPal[lcv2].blue);
- end;
- refresh;
- end;
- end;
-
- {*******************************************************************}
-
- procedure fadeout(fadepal : rgbarray; col1, col2 : byte);
- var
- lcv,
- lcv2 : integer;
- TPal : rgbarray;
- begin
- for lcv := col1 to col2 do
- begin
- TPal[lcv].red := 0;
- TPal[lcv].green := 0;
- TPal[lcv].blue := 0;
- end;
- for lcv := 0 to 63 do
- begin
- for lcv2 := col1 to col2 do
- begin
- if fadepal[lcv2].red > TPal[lcv2].red then
- fadepal[lcv2].red := fadepal[lcv2].red - 1;
- if fadepal[lcv2].green > TPal[lcv2].green then
- fadepal[lcv2].green := fadepal[lcv2].green - 1;
- if fadepal[lcv2].blue > TPal[lcv2].blue then
- fadepal[lcv2].blue := fadepal[lcv2].blue - 1;
-
- setcolor(lcv2, fadepal[lcv2].red, fadepal[lcv2].green, fadepal[lcv2].blue);
- end;
- refresh;
- end;
- end;
-
- {*******************************************************************}
-